package com.wtwd.campus.jdzc.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wtwd.campus.entity.Classes;
import com.wtwd.campus.model.ClassQueryModel;
import com.wtwd.campus.model.vo.ClassesVO;
import com.wtwd.campus.model.vo.ResultVO;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @author mjy
 * @date 2021/06/17
 * @description
 */
public interface JdzcClassService {


    /**
     * 分页查询班级
     * @param page
     * @param classQueryModel
     * @return
     */
    IPage<ClassesVO> queryPage(Page page, ClassQueryModel classQueryModel);

    /**
     * 删除班级通过Id
     * @param id
     * @return
     */
    ResultVO deleteClassesById(Integer id);

    /**
     * 创建班级
     * @param classes
     * @return
     */
    ResultVO createClass(Classes classes);

    /**
     * 更新班级
     * @param classes
     * @return
     */
    ResultVO updateClass(Classes classes);

    /**
     * 统计各个年级下班级数量
     * @param gradeIds
     * @return
     */
    Map<Integer,Integer> countClassByGradeIds(List<Integer> gradeIds);

    /**
     * 获取班级列表通过年级Ids
     * @param gradeIds
     * @return
     */
    List<Classes> listClassByGradeIds(List<Integer> gradeIds);

    /**
     *
     * 获取班级年级名称
     * @param classIds
     * @return
     */
    Map<Integer,String> getClassGradeNameByClassIds(String classIds);

    /**
     * 获取班级年级Id
     * @return
     */
    Map<String,String> getClassGradeIdByClassNames(Integer schoolId, Set<String> classNames);

    Integer getClassIdByClassId(Integer id);

    /**
     * 根据班级id获取一个班级的imei
     */
    List<String> getImeiListByClassId(Integer classId);


}
